110 DIML(4,28),TL(28),VL(26),M(17),SC(4),CL(4),TP(4),N$(4),P$(4) 120 LN$="" 130 FP$="[158] " 135 F1$=" " 140 F2$="[202][195]NAME " 145 F3$="[213][195]PHRASE[195][195]>[195][195]MIN[195]>[195][201] " 150 B1$="[146][155][194] ":B2$="[155] [146][194]":RE$=" REDO " 160 B4$="[155][146][194] [146][194]" 170 PRINTCHR$(147):S=54272:FORI=STOS+24:POKEI,0:NEXT:POKES+24,31 180 PL=0:POKE53280,5:POKE53281,5:POKE646,0:POKE53272,21:PRINTCHR$(8) 190 GOSUB6050:FORI=1TO26:READVL(I):NEXT:FORI=1TO17:READM(I):NEXT 200 PRINT"[147]NUMBER OF PLAYERS (2 TO 4)" 210 PRINT"1 SPACES VISIBLE"SPC(24)"2 SPACES CONCEALED" 220 PRINT"1 ONE LETTER REVEALED PER GUESS" 230 PRINT"2 ALL LETTERS OF GUESS REVEALED" 240 PRINT"1 CHANCE CARDS APPEAR AT RANDOM" 250 PRINT"2 PLAYER ASKS FOR A CHANCE CARD" 260 PRINT"3 NO CHANCE CARDS" 270 PRINT"CHANCE CARDS WILL ALTER YOUR SCORE," 280 PRINT"GRANT AN EXTRA TURN OR LOSE A TURN, OR" 285 PRINT"MAY EVEN REVEAL A LETTER. IF YOU CHOOSE" 290 PRINT"'2' ABOVE, PRESS F1 TO DRAW A CHANCE" 300 PRINT"CARD, WHICH IS FAVORABLE 55.6% OF THE TIME." 310 PRINT""TAB(4)">";:GOSUB60500:NP=ASC(B$)-48:IFNP<2ORNP>4THEN310 315 PRINTB$ 320 PRINTLEFT$(LN$,7)TAB(4)">";:GOSUB60500:SP=ASC(B$)-49:IFSP<0ORSP>1THEN320 325 PRINTB$ 330 PRINTLEFT$(LN$,11)TAB(4)">";:GOSUB60500:LT=ASC(B$)-49:IFLT<0ORLT>1THEN330 335 PRINTB$ 340 PRINTLEFT$(LN$,16)TAB(4)">";:GOSUB60500:RM=ASC(B$)-49:IFRM<0ORRM>2THEN340 345 PRINTB$ 350 IFSP=0THENSP$="[146] " 360 IFSPTHENSP$="[165]" 370 REM ****INITIALIZE SCREEN**** 380 PRINT"[147]";:POKE53280,6:POKE53281,0:POKE53265,PEEK(53265)AND239 390 PRINT"[146][155][176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"B4$; 395 PRINT"[145][155] P A R E A P H R A S E " 400 EX=1:F$=F1$:D$=FP$:PRINT"":FORPC=1TO4:GOSUB2000:NEXT:PRINTB4$; 405 PRINT"[145]F1[155] - GUESS F3[155] - CHANCE CARD F7[155] - QUIT"; 410 PRINT"[146][155][173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]"; 415 FORA=217TO242:POKEA,PEEK(A)OR128:NEXT 420 PRINT" "; 425 POKE2023,160:POKE2023+S,6 430 POKE53265,PEEK(53265)OR16:GOSUB5000:B1$="":B2$="" 440 FORPC=1TONP:N$(PC)="[158] ":D$=MID$(LN$,26):F$=F2$:EX=0:PRINT""; 450 GOSUB2000:GOSUB3000:N$(PC)=M$:F$=F3$:EX=2 455 PRINT"";:GOSUB2000:GOSUB3000 460 PRINTLEFT$(LN$,PC*5+1)SPC(6); 465 FORI=1TO28:IFI>LEN(M$)THENPRINT"[146] ";:GOTO490 470 L(PC,I)=TL(I):IFASC(MID$(M$,I,1))=32THENPRINTSP$; 480 IFASC(MID$(M$,I,1))<>32THENPRINT"[155][165]";:CL(PC)=CL(PC)+1 490 NEXT:P$(PC)=M$ 500 F$=F1$:PRINT"";:GOSUB2000:GOSUB6000:NEXT 600 REM ****MAIN PROGRAM LOOP**** 610 PL=INT(NP*RND(TI))+1 620 PL=PL+1-ET:IFPL>NPTHENPL=1:EX=1:ET=0 630 M$="":IR=0:PT=0:ET=ET-1:IFET<0THENET=0 640 IFRM=0THENGOSUB7000 650 G=0:IFCL(1)+CL(2)+CL(3)+CL(4)-CL(PL)=0THEN1000 660 PC=PL:PRINT"";:GOSUB2000:IFPT=1THENPC=PL:PRINT"";:GOSUB2000:GOTO620 670 GETA$:IFA$=""THEN670 675 IFA$="[136]"THENGOSUB60100:GOTO670 680 IFRM<>1THEN710 690 IFIR=0ANDA$="[134]"THENIR=1:GOSUB7020 700 IFPT=1THENPC=PL:PRINT"";:GOSUB2000:GOTO620 710 PQ=ASC(A$)-48:IFPQ<0ORPQ>NPORPQ=PLTHEN670 720 IFPQ=0ANDTP(PL)<2THENPC=PL:PRINT"";:GOSUB2000:TP(PL)=TP(PL)+1:GOTO620 730 IFPQ<1THENM$="TWO CONSECUTIVE PASSES ONLY":GOSUB7180:GOTO670 740 IFCL(PQ)=0THEN670 750 PRINT"[145][145][145]I INTERROGATE "N$(PQ) 755 TP(PL)=0:PC=PQ:PRINT"[158]";:GOSUB2000 760 GETA$:IFA$=""THEN760 765 IFA$="[136]"THENGOSUB60100:GOTO760 770 K=ASC(A$):IF(K<64ORK>90)ANDK<>133THEN760 780 IFK<>133THEN810 790 GOSUB4000:IFM$=P$(PQ)THEN650 800 PC=PL:PRINT"";:GOSUB2000:GOTO620 810 PRINT""LEFT$(LN$,PQ*5-1)SPC(17)CHR$(K);:FORT=1TO500:NEXT 820 ES=LEN(P$(PQ)):N=INT(ES*RND(0))+1:TS=0:BS=N:GOTO850 830 BS=1:ES=N:TS=TS+1:IFTS>1ANDG=0THEN880 840 IFTS>1ANDGTHEN920 850 IFBS>ESTHEN830 860 IFL(PQ,BS)=KTHENSC(PL)=SC(PL)+VL(L(PQ,BS)-64):G=1:GOTO900 870 BS=BS+1:GOTO850 880 GOSUB6120:SC(PL)=SC(PL)-5:SC(PQ)=SC(PQ)+5:PC=PL:PRINT"";:GOSUB2000 890 GOTO920 900 CL(PQ)=CL(PQ)-1:PRINT"[146]"LEFT$(LN$,PQ*5+1)SPC(5+BS)CHR$(L(PQ,BS)); 910 GOSUB6140:L(PQ,BS)=32:IFLTTHEN870 920 PC=PQ:PRINT"";:GOSUB2000:IFGTHEN650 930 GOTO620 1000 REM ****END OF GAME ROUTINE**** 1010 PC=PL:PRINT"":GOSUB2000 1020 PRINTLEFT$(LN$,28)" G A M E O V E R "; 1030 GOSUB5000:PRINTLEFT$(LN$,28)" PLAY AGAIN (Y OR N) ? "; 1040 GETA$:IFA$=""THEN1040 1050 IFA$="N"THEN60160 1060 IFA$<>"Y"THEN1040 1070 RESTORE 1080 FORI=1TO4:CL(I)=0:TP(I)=0:SC(I)=0:N$(I)="":P$(I)="":NEXT:GOTO150 2000 REM ****REPRINT PLAYER BLOCK**** 2010 F5$=LEFT$(F1$,15-LEN(N$(PC))-(EX=0)*2) 2015 F6$=LEFT$(F1$,5-LEN(STR$(SC(PC)))) 2020 PRINTLEFT$(LN$,(PC*5)-2)B1$" [213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201] "B2$; 2030 PRINTB1$" [194] ";N$(PC)F5$PC"[157] SCORE:"SC(PC)"[157] "F6$" [194] "B2$; 2040 PRINTB1$" [194] ";F$;" [194] "B2$; 2050 PRINTB1$" [194] "D$" [194] "B2$; 2060 PRINTB1$" [202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203] "B2$;:RETURN 3000 REM ****SCREENED INPUT ROUTINE**** 3010 POKE198,0:Y=1:M$="":PRINTLEFT$(LN$,(PC*5+EX)-1)SPC(6)"[158]";:GOSUB6140 3020 POKE204,0:GETA$:IFA$=""THEN3020 3025 IFA$<>"[136]"THEN3030 3026 POKE204,1:POKE(PEEK(209)+PEEK(210)*256+PEEK(211)),160:GOSUB60100:GOTO3020 3030 POKE204,1:K=ASC(A$):IFK=32ANDTL(Y-1)=32ORK=32ANDY=1THEN3020 3040 IF(K>64ANDK<91)+(Y<29ANDEX>0)+(Y<10ANDEX=0)+(K=32)<>-2THEN3060 3050 PRINTA$;:TL(Y)=K:Y=Y+1:GOTO3020 3060 IFK=20ANDY>1THENPRINT" [157][157] [157]";:Y=Y-1:GOTO3020 3070 IF(K=13)+(EX>0ANDY>20)+(EX=0ANDY>1)=-2THENPRINT" ";:GOTO3090 3080 GOTO3020 3090 IFTL(Y-1)+EX=34THENPRINTLEFT$(LN$,PC*5+(EX-1))SPC(6)RE$;:GOTO3010 3100 FORI=1TOY-1:M$=M$+CHR$(TL(I)):NEXT:PRINT"[146]";:RETURN 3130 PC=PL:PRINT"";:GOSUB2000:RETURN 4000 REM ****EVALUATE PHRASE GUESS**** 4010 IFCL(PQ)<6THEN4090 4020 PC=PQ:GOSUB3000:PC=PL 4030 IFM$<>P$(PQ)THENSC(PL)=SC(PL)-100:GOSUB6100:PRINT"";:GOTO4090 4040 FORI=1TOLEN(P$(PQ)):IFL(PQ,I)=32THEN4070 4050 SC(PL)=SC(PL)+VL(L(PQ,I)-64):GOSUB6140 4055 PRINTLEFT$(LN$,PQ*5+1)SPC(5+I); 4060 PRINT"[146]";CHR$(L(PQ,I));:PRINT"[156]";:GOSUB2000 4070 NEXT 4080 CL(PQ)=0:SC(PL)=SC(PL)+100:PRINT"";:GOSUB2000:GOSUB6050 4090 PC=PQ:PRINT"";:GOSUB2000:RETURN 5000 REM ****REM GAME TUNE**** 5020 POKES+5,0:POKES+6,240:POKES+3,8:POKES+22,128:POKES+23,241 5030 READA:READB:READC:IFA=-1THENRETURN 5040 POKES,A:POKES+1,B:POKES+4,65:FORT=1TOC:NEXT:POKES+4,64:GOTO5030 6000 REM ****SOUND EFFECTS**** 6010 POKES+5,0:POKES+6,240:FORI=1TO10STEP3:POKES,M(I):POKES+1,M(I+1) 6020 POKES+4,33:FORT=1TOM(I+2):NEXT:POKES+4,32:NEXT 6030 IF TC<>NP THEN 6040 6035 POKES,143:POKES+1,10:POKES+4,33:FORT=1TO400:NEXT:POKES+4,32 6040 GOTO6150 6050 POKES+5,0:POKES+6,240:FORI=1TO6:ONIGOTO6070,6070,6080,6090,6080,6090 6060 POKES,LO:POKES+1,HI:POKES+4,33:FORT=1TOD:NEXT:POKES+4,32:NEXT 6065 GOTO6150 6070 LO=195:HI=16:D=100:GOTO6060 6080 LO=31:HI=21:D=100:GOTO6060 6090 LO=30:HI=25:D=300:GOTO6060 6100 POKES+5,0:POKES+6,240:FORI=13TO17:POKES,M(I):POKES+1,3:POKES+4,33 6110 FORT=1TO250:NEXT:POKES+4,32:NEXT:GOTO6150 6120 POKES+5,0:POKES+6,240:POKES,71:POKES+1,6:POKES+4,33 6130 FORT=1TO300:NEXT:POKES+4,32:GOTO6150 6140 POKES+5,15:POKES+6,249:POKES,151:POKES+1,126:POKES+4,33:POKES+4,32 6150 RETURN 7000 REM ****MOCK ERROR ROUTINE**** 7010 CH=INT(4*RND(0))+1:IFCH<>PLTHENM$="":GOTO7200 7020 PC=PL:PRINT"[151]";:GOSUB2000:M=INT(9*RND(0))+1 7030 ONMGOTO7040,7050,7060,7070,7080,7090,7100,7110,7150 7040 M$="SCORING GLITCH [153]+10 POINTS":SC(PL)=SC(PL)+10:GOSUB6140:GOTO7180 7050 M$="SCORING GLITCH [153]+20 POINTS":SC(PL)=SC(PL)+20:GOSUB6140:GOTO7180 7060 M$="SCORING GLITCH [153]+30 POINTS":SC(PL)=SC(PL)+30:GOSUB6140:GOTO7180 7070 M$="SCORING GLITCH  -5 POINTS":SC(PL)=SC(PL)-5:GOSUB6120:GOTO7180 7080 M$="SCORING GLITCH -10 POINTS":SC(PL)=SC(PL)-10:GOSUB6120:GOTO7180 7090 M$="VARIABLE MIXUP [153]EXTRA TURN":ET=1:GOSUB6050:GOTO7180 7100 M$="VARIABLE MIXUP LOOSE TURN":PT=1:GOSUB6100:GOTO7180 7110 M$="PRINT ERROR LETTER EXPOSED":LE=INT(LEN(P$(PL))*RND(0))+1 7120 IFL(PL,LE)=32THEN7110 7130 GOSUB6100:PRINT"[146]"LEFT$(LN$,PL*5+1)SPC(5+LE)CHR$(L(PL,LE)); 7140 L(PL,LE)=32:CL(PL)=CL(PL)-1:GOTO7180 7150 M$="SUBSCRIPT ERROR [153]+20 FROM":PP=INT(NP*RND(0))+1:IFPP=PLTHEN7150 7160 GOSUB6140:SC(PL)=SC(PL)+20:SC(PP)=SC(PP)-20 7170 PC=PP:PRINT"";:GOSUB2000:M$=M$+STR$(PP) 7180 FORI=1TO5:PRINT""LEFT$(LN$,PL*5)SPC(6)M$;:FORT=1TO500:NEXT 7190 PRINTSPC(14)"[145]"F1$;:FORT=1TO100:NEXT:NEXT 7200 PC=PL:PRINT"";:GOSUB2000:RETURN 8000 DATA 10,20,20,20,10,30,20,30,10,40,30,20,30,20,10,30,40,20,20,20,10 8010 DATA 30,30,40,30,40,12,7,300,233,7,100,97,8,300,12,7,400,244,187,134 8020 DATA 83,35,195,17,100,31,21,200,181,23,100,0,0,100,156,26,200,31,21 8030 DATA 100,0,0,100,181,23,200,156,26,100,0,0,100,49,28,300,0,0,100,239 8040 DATA 19,100,239,19,200,31,21,100,0,0,100,181,23 8045 DATA 200,239,19,100,0,0,100,31,21,100,239,19,100 8050 DATA 31,21,100,181,23,100,156,26,200,210,15,200,-1,-1,-1 8060 DATA 31,21,300,195,16,300,24,14,150,195,16,450,0,0,150,31,21,300 8070 DATA 195,16,300,209,18,150,209,18,450,0,0,150,31,21,300,195,16,300 8080 DATA 96,22,150,96,22,450,0,0,150,96,22,150,31,21,150,195,16,150 8090 DATA 209,18,150,210,15,150,195,16,450,-1,-1,-1 60100 POKE783,PEEK(783)OR1:SYS65520:X%=PEEK(781):Y%=PEEK(782) 60105 C%=PEEK(646):POKE198,. 60110 PRINT"[155] ARE YOU SURE YOU WANT TO QUIT? (Y/N)" 60120 A%=PEEK(203):IFA%<>25ANDA%<>39THEN60120 60130 IFA%=25THEN60160 60140 PRINT"[145]F1[155] - GUESS F3[155] - CHANCE CARD F7[155] - QUIT"; 60145 POKE646,C%:POKE781,X%:POKE782,Y% 60150 POKE783,PEEK(783)AND254:SYS65520:POKE198,.:RETURN 60160 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 60170 IFER<>63THENEND 60180 LOAD"HELLO CONNECT",8 60500 POKE198,. 60510 GETB$:IF(B$<>"")AND((B$>="0")AND(B$<="9"))THENRETURN 60520 C=C-1:IFC>.THEN60510 60530 IF(B)THENPRINT" [157]"; 60540 IFNOT(B)THENPRINT" [146][157]"; 60550 C=5:B=NOT(B):GOTO60510